With the increase in demand for broadband communications and services, telecommunication service providers are continually challenged to provide the fastest and most reliable service to their customers to accommodate a wide variety of applications and services. Not surprisingly, a vast interconnection of data networks has emerged to support these applications and services. However, traditionally, such networks are static, in terms of allocation of network resources. In other words, any fluctuation or variation in resource demand can undermine statically engineered network resources. A key factor in the variability of network resources is the fact that user devices (e.g., smartphones, laptops, tablet computers, etc.) are mobile in nature, and thereby imposes variable demand on the network depending on the mobility of the users. Such mobility can be unpredictable, and thus, static network architectures are ill-suited.
Furthermore, system resources, such as physical router resources, are not well-balanced when the complexities of mobility are introduced. Each physical router has a finite set of resources, which can include central processing unit (CPU) cycles, memory, Input/Output (I/O) interfaces, etc. It is not uncommon for a router to be declared “exhausted” when one or more of these resources reached their limit or capacity. For example, a router's memory can be fully depleted because one of its customers has a very large routing table, or a router's CPU cycle time can be exhausted (high CPU utilization) because it is running a high maintenance routing protocol. In such cases, the router may have plenty of other resources (e.g., I/O interfaces) that remain unused. However, these resources cannot be made available with traditional systems.
Therefore, there is a need for an approach to accommodate the mobile nature of sophisticated services and applications and to more efficiently utilize system resources.